package com.qwz.learn.abssegment;

import com.qwz.learn.realize.Implementor;

/**
* @Description: 定义抽象部分的接口
* @Package com.qwz.learn.Abstraction
* @author Qiuwuzhi
* @date 2019/12/20 13:42
* @version V1.0
*/
public abstract class Abstraction {
    /**
     * 持有一个实现部分的对象
     */
    protected Implementor implementor;

    /**
     * 构造方法，传入实现部分的对象
     * @param implementor
     */
    public Abstraction(Implementor implementor) {
        this.implementor = implementor;
    }

    /**
     * 示例操作，实现一定的功能，可能需要转调实现部分的具体实现
     */
    public void operation(){
        implementor.operationImpl();
    }
}
